Conventionally, in a case of conducting data transmission, when a data size is a large amount, depending on a data transmission condition such as a traffic state of a network, data transmission abilities of a sender and a receiver, and the like, data are divided and transmitted. In order to assure each set of divided data, the sender applies a digital signature for each set of divided data, and the receiver verifies each set of the divided data. Another technology proposes that a source or intermediary (or both) can remove certain portions of the data stream without inhibiting the ability of the ultimate receiver to verify the authenticity and integrity of the data received.